diff --git a/theme/templates/base.html b/theme/templates/base.html
index 8af858a..98d4756 100644
--- a/theme/templates/base.html
+++ b/theme/templates/base.html
@@ -133,26 +133,25 @@
     <header>
       {% block header %}
       <p id="header">
-      <a href="{{ SITEURL }}">Home</a>
-
       {% if DISPLAY_PAGES_ON_MENU %}
       {% for p in pages %}
       {% if p.url != "index.html" %}
-      &#124; <a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a>
+      <a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a>&nbsp;&#124;
       {% endif %}
       {% endfor %}
       {% endif %}
       {% if INDEX_SAVE_AS and INDEX_SAVE_AS != "index.html" %}
-      &#124; <a href="{{ SITEURL }}/{{ INDEX_LINK_AS }}">Blog</a>
+      <a href="{{ SITEURL }}/{{ INDEX_LINK_URL }}">Blog</a>&nbsp;&#124;
       {% endif %}
       {% if FEED_ALL_ATOM %}
-      &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">Atom Feed</a>
+      <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}">Atom Feed</a>&nbsp;&#124;
       {% endif %}
       {% if FEED_ALL_RSS %}
-      &#124; <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">RSS Feed</a>
+      <a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}">RSS Feed</a>&nbsp;&#124;
       {% endif %}
       {% for title, link in MENUITEMS %}
-            &#124; <a href="{{ SITEURL }}/{{ link }}">{{ title }}</a>
+      <a href="{{ SITEURL }}/{{ link }}">{{ title }}</a>
+      {% if not loop.last %}&#124;{% endif %}
       {% endfor %}
       </p>
       {% endblock header %}
